package com.baichang.taoshunda.service;

import com.baichang.framework.model.Page;

import java.math.BigDecimal;
import java.util.Map;

/**
 * Created by ${wushenglu} on 2017/8/18 0018.
 */
public interface ScoreGoodsService {
    /**
     * 获取所有的积分商品
     *
     * @param nowPage  分页当前页
     * @param pageSize 每页条数
     * @param userId
     * @return
     */
    Map<String, Object> getScoreGoodsList(Integer nowPage, Integer pageSize, Integer userId);

    /**
     * 根据编号 获取对应的积分商品
     *
     * @param id 商品编号
     * @return
     */
    Map<String, Object> getScoreGoodsById(Integer id);

    /**
     * 积分商品库存变动
     *
     * @param goodsId 商品编号
     */
    boolean scoreGoodsStock(int goodsId, int number);

    /**
     * 查看对应商品库存
     *
     * @param goodsId 商品编号
     * @return
     */
    int getScoreGoodsStock(int goodsId);

    /**
     * 查询商品积分
     *
     *
     * @param name
     * @param nowPage
     * @param pageSize
     * @return
     */
    Page queryGoodsScore(String name, int nowPage, int pageSize);

    /**
     * 添加积分商品
     *
     * @param goodsScore
     * @param hotLine
     * @param needScore
     * @param marketPrice
     * @param stock
     * @param goodsPic
     * @param remark
     * @return
     */
    long addGoodsScore(String goodsScore, String hotLine, String needScore, BigDecimal marketPrice, Integer stock, String goodsPic, String listPic, String remark);

    /**
     * 修改积分商品
     *
     * @param id
     * @param goodsScore
     * @param hotLine
     * @param needScore
     * @param marketPrice
     * @param stock
     * @param goodsPic
     * @param remark
     * @return
     */
    int updateGoodsScore(Integer id, String goodsScore, String hotLine, String needScore, BigDecimal marketPrice, Integer stock, String goodsPic, String listPic, String remark);

    /**
     * 删除
     *
     * @param id
     * @param state
     * @return
     */
    int updateState(Integer id, Integer state);

    /**
     * 发货状态
     * @param id
     * @param sendGoods
     * @return
     */
    int updateIsSendGoods(Integer id, Integer sendGoods);
}
